RAID technology in data processing systems refers to a Redundant Array of Independent Disks, a system of multiple hard disk drives that share or replicate data among the drives. Multiple versions of RAID technology have been developed to enable increased data integrity, fault-tolerance, throughput, and/or capacity in comparison to single drives. RAID enables combination of multiple readily available and low-cost devices into an array with larger capacity, reliability, and/or speed.
The various versions or levels of RAID technology include RAID 0 with data striping that breaks data into smaller chunks and distributes the chunks among multiple drives to enhance throughput, but does not protect data. RAID 1 enables mirroring, which is copying of data onto at least one other drive, ensuring duplication so that data lost in a disk failure can be restored. RAID 0 and 1 can be combined to facilitate both throughput and data protection. RAID 5 strips both data and parity information across three or more drives and is also fault tolerant.
RAID technology can be implemented either in hardware or software. Software RAID typically supports RAID 0 and 1 so that RAID functions are executed by a host Central Processing Unit (CPU), possibly causing a substantial reduction in performance of other computations, particularly during performance of RAID 5 writes since parity is calculated. Hardware RAID implementations offload processor intensive RAID operations from the host CPU to enhance performance and fault-tolerance and are generally richer in features.